<?php
defined('SYSPATH') OR die('No Direct Script Access');

Class Controller_PersistenceTest extends Controller
{

	
	function action_index(){
		echo "FU2!";		
		$candidato = ORM::factory('candidatodao');
		$endereco = ORM::factory('enderecodao');
		$deficiencia = ORM::factory('deficienciadao');
		
		$candidato->nome = "Rogério Maegaki";
		$candidato->email = "rmaega@yahoo.com.br";
		$candidato->dataDeNascimento = "08/12/1982";
		$candidato->sexo = "Masculino";
		$candidato->estadoCivil = "Solteiro";
		$candidato->idade = "28";
		//$candidato->telefoneResidencial = "5928-0542";
		//$candidato->telefoneCelular = "8511-4486";
		//$candidato->telefoneAuxiliar = "8694-5656";
		$candidato->rg = "43936417";
		$candidato->cpf = "31273800893";
		$candidato->idade = "31273800893";
		$endereco->estado = "SP";
		$endereco->cidade = "São Paulo";
		$endereco->rua = "Rua Inácio Ramos";
		$endereco->numero = "68";
		//$endereco->complemento = "Casa";
		$endereco->bairro = "Parque América";
		$endereco->cep = "04822-280";
		$endereco->save();
		$candidato->endereco_idEndereco = $endereco->idEndereco;
		
		if($endereco->saved()){
			echo "<br>PT:37:Endereço salvo...<br>";
		}
		
		//Primeiramente adicionando o curriculo para depois adicionar os registros sob o mesmo
		//verificado para one-to-many
		//TODO verificar para one-to-one e outras possiveis relações presentes
		$curriculo = ORM::factory('curriculodao');
		
		$curriculo->areaDeInteresse = "Fazendeiro";
		$curriculo->informacoesComplementares = "Sou meio zé";
		$curriculo->save();
		
		if($curriculo->saved()){
			echo "<br>PT:50:Curriculo salvo...<br>";
		}
		
		//aplicando as relações em candidato com curriculo, e as outras one-to-one realizadas acima
		$candidato->curriculo_idCurriculo = $curriculo->idCurriculo;
		$candidato->save();
		
		if($candidato->saved()){
			echo "<br>CPT:58:andidato salvo com curriculo e endereço...<br>";
		}
		
		
		//Tentativa de adicionar deficiências captadas em um curriculo, havendo conhecimento que a chave estrangeira
		//está na tablela filhas referenciando o id da tabela pai na relação de um-para-muitos
		//é adicionado esta ligação através do id obtido do curriculo que foi inserido acima
		
		$deficiencias = array();
		
		$deficiencia->tipoDeDeficiencia = "Auditiva";
		$deficiencia->modalidadeDaDeficiencia = "Excesso de Cera";
		$deficiencia->observacoes = "Vergonha na cara necessária para limpeza";
		$deficiencia->id_curriculo = $curriculo->idCurriculo;
		
		$deficiencias[] = $deficiencia;
		
		$deficiencia2 = ORM::factory('deficienciadao');
		$deficiencia2->tipoDeDeficiencia = "Intelectual";
		$deficiencia2->dificuldadesDevidoDeficiencia = "Lazer";
		$deficiencia2->observacoes = "Faculdade te da esse tipo de deficiência";
		$deficiencia2->id_curriculo = $curriculo->idCurriculo;
		
		$deficiencias[] = $deficiencia2;
		
		foreach ($deficiencias as $deficiente){
			$deficiente->save();
		}
		
		if($deficiente->saved()){
			echo "<br>PT:88:Deficiências salvas...<br>";
		}
		
		$escolaridade = ORM::factory('escolaridadedao');
		
		$escolaridade->escolaridade = "Ensino Fundamental";
		$escolaridade->grauDaEscolaridade = "Completo";
		$escolaridade->anoDeConclusao = "1997";
		$escolaridade->id_curriculo = $curriculo->idCurriculo;
		$escolaridade->save();
		
		if($escolaridade->saved()){
			echo "<br>PT:100:Escolaridade1 salva...<br>";
		}
		
		$escolaridade2 = ORM::factory('escolaridadedao');
		$escolaridade2->tipoDeEnsinoMedio = "Normal";
		$escolaridade2->escolaridade = "Ensino Médio";
		$escolaridade2->grauDaEscolaridade = "Completo";
		$escolaridade2->anoDeConclusao = "2000";
		$escolaridade2->id_curriculo = $curriculo->idCurriculo;
		$escolaridade2->save();
		
		if($escolaridade2->saved()){
			echo "<br>PT:112:Escolaridade2 salva...<br>";
		}
		
		$escolaridade3 = ORM::factory('escolaridadedao');
		$escolaridade3->escolaridade = "Ensino Superior";
		$escolaridade3->curso = "Ciência da Computação";
		$escolaridade3->instituicao = "PUC-SP";
		$escolaridade3->grauDaEscolaridade = "Completo";
		$escolaridade3->anoDeConclusao = "2010";
		$escolaridade3->id_curriculo = $curriculo->idCurriculo;
		$escolaridade3->save();
		
		if($escolaridade3->saved()){
			echo "<br>PT:125:Escolaridade3 salva...<br>";
		}

		$escolaridade4 = ORM::factory('escolaridadedao');
		$escolaridade4->escolaridade = "Pós-Graduação";
		$escolaridade4->curso = "Arquitetura de Software";
		$escolaridade4->instituicao = "PUC-SP";
		$escolaridade4->grauDaEscolaridade = "Completo";
		$escolaridade4->anoDeConclusao = "2015";
		$escolaridade4->id_curriculo = $curriculo->idCurriculo;
		$escolaridade4->save();
		
		if($escolaridade4->saved()){
			echo "<br>PT:138:Escolaridade4 salva...<br>";
		}	
		
		//Teste em one-to-many de idiomas 
		
		$idioma = ORM::factory('idiomadao');
		$idioma->nomeDoIdioma = "Português";
		$idioma->le = "Intermediário";
		$idioma->escreve = "Intermediário"; 
		$idioma->fala = "Intermediário";
		$idioma->entende = "Avançado";
		$idioma->id_curriculo = $curriculo->idCurriculo;
		$idioma->save();
		
		if($idioma->saved()){
			echo "<br>PT:153:Idioma salvo...<br>";
		}
		
		$idioma1 = ORM::factory('idiomadao');
		$idioma1->nomeDoIdioma = "Inglês";
		$idioma1->le = "Intermediário";
		$idioma1->escreve = "Básico"; 
		$idioma1->fala = "Básico";
		$idioma1->entende = "Intermediário";
		$idioma1->id_curriculo = $curriculo->idCurriculo;
		$idioma1->save();
		
		if($idioma1->saved()){
			echo "<br>PT:166:Idioma1 salvo...<br>";
		}
		
		$idioma2 = ORM::factory('idiomadao');
		$idioma2->nomeDoIdioma = "Espanhol";
		$idioma2->le = "Básico";
		$idioma2->escreve = "Básico"; 
		$idioma2->fala = "Básico";
		$idioma2->entende = "Básico";
		$idioma2->id_curriculo = $curriculo->idCurriculo;
		$idioma2->save();
		
		if($idioma2->saved()){
			echo "<br>PT:179:Idioma2 salvo...<br>";
		}
		
		//Teste em um-para-muitos em informática
		
		$informatica = ORM::factory('informaticadao');
		$informatica->conhecimentoEmInformatica = "Word";
		$informatica->nivelDoConhecimento = "Intermediário";
		$informatica->id_curriculo = $curriculo->idCurriculo;
		$informatica->save();
		
		if($informatica->saved()){
			echo "<br>PT:191:Informatica salvo...<br>";
		}
		
		$informatica1 = ORM::factory('informaticadao');
		$informatica1->conhecimentoEmInformatica = "Power Point";
		$informatica1->nivelDoConhecimento = "Básico";
		$informatica1->id_curriculo = $curriculo->idCurriculo;
		$informatica1->save();
		
		if($informatica1->saved()){
			echo "<br>PT:201:Informatica1 salvo...<br>";
		}
		
		$informatica2 = ORM::factory('informaticadao');
		$informatica2->conhecimentoEmInformatica = "Excel";
		$informatica2->nivelDoConhecimento = "Básico";
		$informatica2->id_curriculo = $curriculo->idCurriculo;
		$informatica2->save();
		
		if($informatica2->saved()){
			echo "<br>PT:211:Informatica2 salvo...<br>";
		}
		
		$informatica3 = ORM::factory('informaticadao');
		$informatica3->conhecimentoEmInformatica = "Windows Media Player";
		$informatica3->nivelDoConhecimento = "Avançado";
		$informatica3->id_curriculo = $curriculo->idCurriculo;
		$informatica3->save();
		
		if($informatica3->saved()){
			echo "<br>PT:221:Informatica3 salvo...<br>";
		}
		
		//Teste em um-para-muitos em comunicação
		$comunicacao = ORM::factory('comunicacaodao');
		$comunicacao->meioDeComunicacao = "Braile";
		$comunicacao->outros = "Sinal de Fumaça";
		$comunicacao->comunicacao_idCurriculo = $curriculo->idCurriculo;
		$comunicacao->save();
		
		if($comunicacao->saved()){
			echo "<br>PT:232:Comunicacao salvo...<br>";
		}
		
		$comunicacao1 = ORM::factory('comunicacaodao');
		$comunicacao1->meioDeComunicacao = "Libras";
		$comunicacao1->outros = "Sinal de Fumaça";
		$comunicacao1->comunicacao_idCurriculo = $curriculo->idCurriculo;
		$comunicacao1->save();
		
		if($comunicacao1->saved()){
			echo "<br>PT:242:Comunicacao1 salvo...<br>";
		}		
		
		$comunicacao2 = ORM::factory('comunicacaodao');
		$comunicacao2->meioDeComunicacao = "Sinal de Fumaça";
		$comunicacao2->outros = "Sinal de Fumaça";
		$comunicacao2->comunicacao_idCurriculo = $curriculo->idCurriculo;
		$comunicacao2->save();
		
		if($comunicacao2->saved()){
			echo "<br>PT:252:Comunicacao2 salvo...<br>";
		}
		//Tentativa de adicionar os um-para-um com uma profundidade de relação maior a aqual a relação da ligação
		//seguinte é de um-para-muitos
		
		$experienciaProfissional = ORM::factory('experienciaprofissionaldao');
		$experienciaProfissional->possuiExperiencia = "sim";
		$experienciaProfissional->save();
		
		if($experienciaProfissional->saved()){
			echo "<br>PT:262:ExperienciaProfissional salvo...<br>";
		}
		
		
		$empresa = ORM::factory('empresadao');
		$empresa->nomeEmpresa = "McDonald's";
		$empresa->cargo = "Sorveteiro";
		$empresa->periodoFinal = "10/2008";
		$empresa->observacao = "Especialista em Sundae";
		$empresa->empresas_idExperienciaProfissional = $experienciaProfissional->idExperienciaProfissional;
		$empresa->save();
		
		if($empresa->saved()){
			echo "<br>PT:275:Empresa salvo...<br>";
		}
		
		$empresa1 = ORM::factory('empresadao');
		$empresa1->nomeEmpresa = "Bazar e Papelaria Ubirajara";
		$empresa1->cargo = "Vendedor";
		$empresa1->periodoFinal = "12/1998";
		$empresa1->observacao = "Trabalhava mais na limpeza";
		$empresa1->empresas_idExperienciaProfissional = $experienciaProfissional->idExperienciaProfissional;
		$empresa1->save();
		
		if($empresa1->saved()){
			echo "<br>PT:287:Empresa1 salvo...<br>";
		}
		
		//salvando a experiência profissional no curriculo
		$curriculo->experienciasProfissional_idExperienciaProfissional = $experienciaProfissional->idExperienciaProfissional;
		$curriculo->save();
		
		if($curriculo->saved()){
			echo "<br>PT:295:Curriculo Atualizado com experiencia Profissional...<br>";
		}
		
		
		$atividade = ORM::factory('atividadedao');
		$atividade->possuiAtividade = "sim";
		$atividade->save();
		
		if($atividade->saved()){
			echo "<br>PT:303:Atividade salvo...<br>";
		}
		
		
		//Salvando a recém inserida atividade no curriculo
		$curriculo->atividade_idAtividades = $atividade->idAtividades;
		$curriculo->save();
		
		if($curriculo->saved()){
			echo "<br>PT:312:Curriculo Atualizado com Atividades...<br>";
		}
		
		
		$palestra = ORM::factory('palestradao');
		$palestra->tituloDaPalestra = "Profissão JAVA";		
		$palestra->palestras_idAtividades = $atividade->idAtividades;
		$palestra->save();
		
		if($palestra->saved()){
			echo "<br>PT:322:Palestra salvo...<br>";
		}
		
		$palestra1 = ORM::factory('palestradao');
		$palestra1->tituloDaPalestra = "Programação SOA";		
		$palestra1->palestras_idAtividades = $atividade->idAtividades;
		$palestra1->save();
		
		if($palestra1->saved()){
			echo "<br>PT:331:Palestra1 salvo...<br>";
		}
		
		$curso = ORM::factory('cursodao');
		$curso->nomeDaAtividade = "Como lavar pratos";		
		$curso->atividade_fk = $atividade->idAtividades;
		$curso->save();
		
		if($curso->saved()){
			echo "<br>PT:340:Curso salvo...<br>";
		}
		
		$curso1 = ORM::factory('cursodao');
		$curso1->nomeDaAtividade = "Como secar seu cão";		
		$curso1->atividade_fk = $atividade->idAtividades;
		$curso1->save();
		
		if($curso1->saved()){
			echo "<br>PT:349:Curso1 salvo...<br>";
		}
		
		
		$voluntariado = ORM::factory('voluntariadodao');
		$voluntariado->nomeDaFuncao = "Pintor";		
		$voluntariado->voluntariados_idAtividades = $atividade->idAtividades;
		$voluntariado->save();
		
		if($voluntariado->saved()){
			echo "<br>PT:359:Voluntariado salvo...<br>";
		}
		
		$voluntariado1 = ORM::factory('voluntariadodao');
		$voluntariado1->nomeDaFuncao = "Lavador de Pratos";		
		$voluntariado1->voluntariados_idAtividades = $atividade->idAtividades;
		$voluntariado1->save();
		
		if($voluntariado1->saved()){
			echo "<br>PT:368:Voluntariado1 salvo...<br>";
		}
		
		$atividadeComplementar = ORM::factory('atividadecomplementardao');
		$atividadeComplementar->nomeDaAtividade = "Jogar Futebol";		
		$atividadeComplementar->atividadesComplementares_idAtividades = $atividade->idAtividades;
		$atividadeComplementar->save();	

		if($atividadeComplementar->saved()){
			echo "<br>PT:377:AtividadeComplementar salvo...<br>";
		}
		
		$atividadeComplementar1 = ORM::factory('atividadecomplementardao');
		$atividadeComplementar1->nomeDaAtividade = "Jogar e dormir";		
		$atividadeComplementar1->atividadesComplementares_idAtividades = $atividade->idAtividades;
		$atividadeComplementar1->save();

		if($atividadeComplementar1->saved()){
			echo "<br>PT:386:AtividadeComplementar1 salvo...<br>";
		}
		
		/*echo "<br>" . $candidato->nome;
		echo "<br>" . $candidato->email;
		
		
		echo "<br> rua = " . $candidato->endereco->rua;
		echo "<br> cidade = " . $candidato->endereco->cidade;
		echo "<br> cep = " . $candidato->endereco->cep;
		echo "<br> bairro = " . $candidato->endereco->bairro;
		echo "<br> estado = " . $candidato->endereco->estado;
		echo "<br> numero = " . $candidato->endereco->numero;
		echo "<br> areaDeInteresse = " . $candidato->curriculo->areaDeInteresse;
		//echo "<br> areaDeInteresse = " . $candidato->curriculo->escolaridade;
		$escolaridades = $candidato->curriculo->escolaridade->find_all();
		$deficiencias = $candidato->curriculo->deficiencia->find_all();
		$count = 1;
		foreach ($escolaridades as $escolaridade){
			echo "<br> escolaridade" . $count . " = " . $escolaridade->escolaridade;
			$count++;
		}
		
		$count = 1;
		
		foreach ($deficiencias as $deficiencia){
			echo "<br> deficiencia" . $count . " = " . $deficiencia->tipoDeDeficiencia;
			$count++;
		}
		
		$idiomas = $candidato->curriculo->idioma->find_all();
		$count = 1;
		foreach ($idiomas as $idioma){
			echo "<br> idioma" . $count . " = " . $idioma->nomeDoIdioma;
			$count++;
		}
		
		
		$count = 1;
		$atividade = $candidato->curriculo->atividade;
		echo "<br> atividade id" . $count . " = " . $atividade->idAtividades;
		
		$cursos = $candidato->curriculo->atividade->curso->find_all();
		
		foreach ($cursos as $curso){
			echo "<br> curso" . $count . " = " . $curso->nomeDaAtividade;
			$count++;
		}
		
		
		$palestras = $candidato->curriculo->atividade->palestra->find_all();
		$count = 1;
		foreach ($palestras as $palestra){
			echo "<br> palestra" . $count . " = " . $palestra->tituloDaPalestra;
			$count++;
		}
		
		
		$voluntariados = $candidato->curriculo->atividade->voluntariado->find_all();
		$count = 1;
		foreach ($voluntariados as $voluntariado){
			echo "<br> voluntariado" . $count . " = " . $voluntariado->nomeDaFuncao;
			$count++;
		}
		
		
		$atividades = $candidato->curriculo->atividade->atividadecomplementar->find_all();
		$count = 1;
		foreach ($atividades as $atividade){
			echo "<br> atividade" . $count . " = " . $atividade->nomeDaAtividade;
			$count++;
		}
		
		
		$informaticas = $candidato->curriculo->informatica->find_all();
		$count = 1;
		foreach ($informaticas as $informatica){
			echo "<br> informatica" . $count . " = " . $informatica->conhecimentoEmInformatica;
			$count++;
		}
		
		
		echo "<br> possuiExperiencia = " . $candidato->curriculo->experienciaprofissional->possuiExperiencia;
		
		
		$empresas = $candidato->curriculo->experienciaprofissional->empresa->find_all();
		$count = 1;
		foreach ($empresas as $empresa){
			echo "<br> empresa" . $count . " = " . $empresa->nomeEmpresa;
			$count++;
		}
		
		
		$comunicacoes = $candidato->curriculo->comunicacao->find_all();
		$count = 1;
		foreach ($comunicacoes as $comunicacao){
			echo "<br> comunicacao" . $count . " = " . $comunicacao->meioDeComunicacao;
			$count++;
		}*/
		
		//$escolaridade = $escolaridades[0];
		
		
		
		
		//print_r($escolaridades[0]);
		if($candidato->saved()){
			echo "<br>Candidato salvo...<br>";
		}
		//print_r($candidato);
	}
	
	
}

?>